﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Salon
{
    /// <summary>
    /// Interface implementowany przez kontrolki filtrujące
    /// Precondition - warunki dodatkowe w zapytaniu np. złączenia tabel: cars.color=colors.id itp
    /// ColumnName - nazwa tabeli i kolumny której dotyczy dana kontrolka np. users.name
    /// ColumnValue - własnośc do nadpisania w kontrolkach implementujący ten interface
    ///     pobranie wartości danej kontrolki w zaleźności od jej typu (patrz: porównanie tej własności w klasach FilterCOmboBox i FilterTextBox)
    /// IsString - flaga mówiąca o tym czy w zapytaniu trzeba daną wartość obłożyć cudzysłowami (dla kolumn typu string powinna mieć wartość true)
    /// CleanUp - funkcja do nadpisania w kontrolce implementującej. Jej zadaniem jest wyczyszczenie wartości.
    /// </summary>
    interface IFilter
    {
        String Precondition { get; set; }

        String ColumnName { get; set; }

        String ColumnValue { get; }

        bool IsString { get; set; }

        void CleanUp();
    }
}
